package com.freemalll.merchant.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.freemalll.merchant.common.AbstractBaseEntity;
import com.freemalll.merchant.common.CompareField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;

/**
 * <p>
 * 商户开户许可证信息
 * </p>
 *
 * @author songshixiong
 * @since 2025-06-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("mer_account_license")
@Schema(description = "商户开户许可证信息")
public class MerAccountLicense extends AbstractBaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "主键")
    @TableId(value = "accl_id", type = IdType.ASSIGN_UUID)
    @CompareField(value = "accl_id", skip = true)
    private String acclId;

    @Schema(description = "所属商户")
    @TableField("mer_id")
    @CompareField(value = "mer_id", skip = true)
    private String merId;

    @Schema(description = "开户名")
    @TableField("accl_name")
    @CompareField("accl_name")
    private String acclName;

    @Schema(description = "开户账号")
    @TableField("accl_bank_no")
    @CompareField("accl_bank_no")
    private String acclBankNo;

    @Schema(description = "开户时间")
    @TableField("accl_open_date")
    @CompareField("accl_open_date")
    private String acclOpenDate;

    @Schema(description = "法人代表")
    @TableField("accl_legal_man")
    @CompareField("accl_legal_man")
    private String acclLegalMan;

    @Schema(description = "开户银行")
    @TableField("accl_bank_name")
    @CompareField("accl_bank_name")
    private String acclBankName;

    @Schema(description = "基本存款账号编码")
    @TableField("accl_code")
    @CompareField("accl_code")
    private String acclCode;

    @Schema(description = "证件类型:1.开户许可证 2.基本存款账户信息证明 ")
    @TableField("accl_id_type")
    @CompareField("accl_id_type")
    private Integer acclIdType;

}
